///**
// * @fileName: RocketMQListenDoWorkHandle.java
// * @author: pjf
// * @date: 2019年10月17日 下午3:17:59
// */
//
//package com.rgs.base.rocketmq;
//
//
//import com.google.common.base.Strings;
//
//import lombok.extern.slf4j.Slf4j;
//import org.apache.rocketmq.common.message.MessageExt;
//
//import javax.annotation.Resource;
//
///**
// * @author pjf
// * @className RocketMQListenDoWorkHandle.java
// * @date 2019年10月17日 下午3:17:59
// */
//@Slf4j
//public abstract class RocketMqListenDeviceRecordHandle implements RocketMqListenDoWorkHandle {
//
//    public abstract CommonDeviceRecordBO dataConsume(String dataStr);
//
//    @Resource
//    private RocketMqProducer rocketMqProducer;
//
//    @Override
//    public void dataHandle(MessageExt messageExt) {
//        String bodyStr = new String(messageExt.getBody());
//        CommonDeviceRecordBO commonDeviceRecord;
//
//        ImportFileErrorBO importFileErrorBO = ExceptionUtil.exceptionCheck(() -> this.dataConsume(bodyStr));
//        if (importFileErrorBO.getIsError()) {
//            // 如果出现错误，更新设备的数据状态为异常状态2
//            // 异常处理
//            commonDeviceRecord = HjJson.parseObject(bodyStr, CommonDeviceRecordBO.class);
//            if (Strings.isNullOrEmpty(commonDeviceRecord.getDeviceId()) || commonDeviceRecord.getSerialNumber() == null) {
//                log.error("设备记录字段有误:" + bodyStr);
//                return;
//            } else {
//                commonDeviceRecord.setState(DeviceRecordStateEnum.ERR_DISTRIBUTE.getState());
//                commonDeviceRecord.setErrorMsg(importFileErrorBO.getReason() + "：" + importFileErrorBO.getNotes());
//                log.error("设备记录异常:" + commonDeviceRecord.getErrorMsg());
//            }
//        } else {
//            commonDeviceRecord = (CommonDeviceRecordBO) importFileErrorBO.getReturnObj();
//        }
//        // 成功之后放回数据流，待消费
//        rocketMqProducer.sendMessage(
//                RocketMqTopicStaticClass.DEVICE_RECORD_CONFIRM_TOPIC, HjJson.toJSONString(commonDeviceRecord));
//    }
//
//}
